﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ferreteria.Forms
{
    public partial class FrmEditarUnArtdelProv : Form
    {
        int idArt;
        DisancoEntities context;
        ProveedoresxArticulos ArtdelProv;

        public FrmEditarUnArtdelProv(int Id, int ProvSel)
        {
            InitializeComponent();
            NumUpDoPrecioVta.Enabled = false;
            NumUpDowBonific.Enabled = false;
            txtbNombreArtProv.Enabled = false;

            idArt = Id;
            context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);

            ArtdelProv = context.ProveedoresxArticulos.FirstOrDefault(a => a.art_id == Id & a.prov_id == ProvSel);

            NumUpDoPrecioVta.Value = ArtdelProv.prov_art_precio;
            NumUpDowBonific.Value = Convert.ToDecimal(ArtdelProv.prov_art_bonif);

            chkbNomArtProv.Enabled = chkbNomArtProv.Enabled;
            ckbBonifProv.Enabled = ckbBonifProv.Enabled;
            ckbPrecioVenta.Enabled = ckbPrecioVenta.Enabled;





        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void ckbPrecioVenta_CheckedChanged(object sender, EventArgs e)
        {
            NumUpDoPrecioVta.Enabled = true;
        }

        private void ckbBonifProv_CheckedChanged(object sender, EventArgs e)
        {
            NumUpDowBonific.Enabled = true;
        }

        private void chkbNomArtProv_CheckedChanged(object sender, EventArgs e)
        {
            txtbNombreArtProv.Enabled = true;
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            {
                try
                {
                    //Se actualiza la bonificacion si esta marcada     
                    if (ckbBonifProv.Checked)
                    {
                        ArtdelProv.prov_art_bonif = NumUpDowBonific.Value;

                    }

                    //Se actualiza los precios de venta si esta marcado
                    if (ckbPrecioVenta.Checked)
                    {
                        ArtdelProv.prov_art_precio = NumUpDoPrecioVta.Value;
                    }


                    //if (chkbNomArtProv.Checked)
                    //{
                    //    ArtdelProv.prov_art_nombre = txtbNombreArtProv.Text;
                    //}

                    context.SaveChanges();


                    MessageBox.Show("Datos Actualizados Correctamente");
                    this.Close();
                }
                catch (Exception err)
                {
                    MessageBox.Show("A ocurrido un error. El mensaje devuelto fue: " + err.ToString());
                }
            }
        }
    }
}
